﻿using System;
using System.Collections.Generic;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.mdx;

namespace SharpSqlAnalyzer.stmt.mdx
{
	// Token: 0x02000190 RID: 400
	public class TMdxCall : TCustomSqlStatement
	{
		// Token: 0x06000DFB RID: 3579 RVA: 0x003093F3 File Offset: 0x003075F3
		public TMdxCall(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstmdxcall;
		}

		// Token: 0x06000DFC RID: 3580 RVA: 0x00309407 File Offset: 0x00307607
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			this.callNode = (TMdxCallNode)this.rootNode;
			return 0;
		}

		// Token: 0x17000289 RID: 649
		// (get) Token: 0x06000DFD RID: 3581 RVA: 0x0030942D File Offset: 0x0030762D
		public virtual TMdxIdentifierNode SpName
		{
			get
			{
				return this.callNode.SpName;
			}
		}

		// Token: 0x1700028A RID: 650
		// (get) Token: 0x06000DFE RID: 3582 RVA: 0x0030943A File Offset: 0x0030763A
		public virtual List<TMdxExpNode> Args
		{
			get
			{
				return this.callNode.Args;
			}
		}

		// Token: 0x06000DFF RID: 3583 RVA: 0x00309447 File Offset: 0x00307647
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000E00 RID: 3584 RVA: 0x00309458 File Offset: 0x00307658
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			if (this.Args != null)
			{
				foreach (TMdxExpNode tmdxExpNode in this.Args)
				{
					tmdxExpNode.acceptChildren(v);
				}
			}
			v.postVisit(this);
		}

		// Token: 0x04001321 RID: 4897
		private TMdxCallNode callNode;
	}
}
